This invention relates generally to user interfaces for computers and computerized devices, and more particularly to such user interfaces that are flexible and hierarchical, and defined using a data definition language.
Graphical user interfaces have become a mainstay with computers. They allow users an easier manner by which to use computers, as opposed to command-line interfaces that preceded them. A user typically uses a pointing device such as a mouse or a touch pad to navigate windows on a desktop, and is able to click on and select buttons and other components of the interface using the buttons of the pointing device. With the advent of computerized devices such as wireless phones, personal digital assistant (PDA) devices, etc., user interfaces have begun to be increasingly utilized with these devices as well.
A difficulty arises, however, in the manner by which a user interface is defined for computers and computerized devices. Typically, the user interface is hard coded into the operating system of a computer, hard coded into the application software, or is part of the firmware of a computerized device. This makes customization and changing of the user interface very difficult. For example, third parties that wish to customize a given basic interface for their own purposes typically have to recode one or more parts of the interface as defined in the operating system of a computer, hard coded into the application software, or the firmware of a computerized device. This is difficult to do, and makes for an expensive process, both with respect to time and money, in order to provide a customized interface.
For this and other reasons, therefore, there is a need for the present invention.
The invention provides for a flexible and hierarchical user interface for a computerized device, such as a computer, defined using a data definition language, such as the eXtensible Markup Language (XML). In one embodiment, such an interface is defined by at least one file in the data definition language. A base file defines a basic look and behavior of the interface. The file also includes data, such as multimedia data, for access via the interface. One or more extension files each modifies the basic look and behavior of the interface as initially defined by the base file. Each of these files may also include data for access thereof via the interface. In one particular embodiment, the interface includes a number of components organized into a number of layers. Each layer is such that it has a view state that is changeably selectable between visible and hidden.
Thus, in varying embodiments of the invention, a user interface is flexibly defined on-the-fly using the data definition language. For example, a file defining an interface can be received over a network, such as the Internet, to a computer or a computerized device, such that it is then rendered on the computer or the device. This means that new applications that may require a new user interface can easily be added to a computerized device or a computer via the receipt of a new file. Furthermore, new user interfaces are more easily developed by programmers by using the data definition language.
Furthermore, in varying embodiments of the invention, a user interface is hierarchical. While the base file defines the basic look and behavior of the interface, subsequent files can modify the interface to override and/or extend the interface as originally defined by the base file. This means that an interface is easily customizable for a particular sponsor or other party. For example, an interface for playing back audio data may have a given basic look and behavior, but can be modified by extension files to customize the basic look and behavior for a particular record label promoting their artists"" music. Functionality can be added to the interface by the extension files, too.
Complexity of a user interface can be alternatively hidden and exposed in varying embodiments of the invention by using layers. For example, a basic user interface may have defined a play and stop button for multimedia data, which corresponds to the typical functionality that will be used by most users. However, other users may wish to fast-forward and rewind within the multimedia data, as well as pause within the data. Therefore, the addition of a xe2x80x9cmorexe2x80x9d button, for example, within the interface can be such that when selected, it exposes another layer of components of the interface, such as fast-forward, rewind, and pause buttons.
Varying embodiments of the invention also provide for the inclusion of data embedded within the file for access thereof via the interface defined within the file itself. This means that a user does not have to download two separate files, one for the data to be accessed, and another for the interface through which the data is to be accessed.
Rather, a user only has to download one file, which contains both the definition of the interface, as well as data for access therethrough. Thus, a musical artist can generate files that include a customizable user interface for playing back their music, as well as the music itself Thus, where the data is brandedxe2x80x94that is, where it is related to a particular band, a particular artist, a particular recording company, etc.xe2x80x94the interface that is defined in one embodiment of the invention can be related to the branded data. For example, in one embodiment, when a song from a particular artist is being played, the interface is modified so that it is specific and/or particular to that artist. In other words, the interface can be in varying embodiments of the invention such that its look and behavior is related to and/or specific to the data that is currently being access via the interface. This allows for customizable branded interfaces.
The invention includes computer-implemented methods, machine-readable media, computerized devices and systems, and computers of varying scopes. Other aspects, embodiments and advantages of the invention, beyond those described here, will become apparent by reading the detailed description and with reference to the drawings.